package com.project.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.gitee.sunchenbin.mybatis.actable.annotation.Column;
import com.gitee.sunchenbin.mybatis.actable.annotation.Table;
import com.gitee.sunchenbin.mybatis.actable.constants.MySqlTypeConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 
 */
@Data
@ApiModel(value = "回收员充值")
@TableName(value = "cms_recovery_member_recharge")
@Table(name = "cms_recovery_member_recharge", comment = "回收员充值")
public class CmsRecoveryMemberRecharge implements Serializable {
    /**
     * 充值ID
     */
    @TableId
    @ApiModelProperty(value = "充值ID")
    @Column(type= MySqlTypeConstant.BIGINT, comment = "充值ID", length = 11, isKey = true, isAutoIncrement = true,isNull = false)
    private Long memberRechargeId;

    /**
     * 回收员ID
     */
    @ApiModelProperty(value = "回收员ID")
    @Column(comment = "回收员ID")
    private Long recoveryMemberId;

    /**
     * 用户ID
     */
    @ApiModelProperty(value = "用户ID")
    @Column(comment = "用户ID")
    private Long userId;

    /**
     * 订单号
     */
    @ApiModelProperty(value = "订单号")
    @Column(comment = "订单号")
    private String orderNumber;

    /**
     * 充值金额
     */
    @ApiModelProperty(value = "充值金额")
    @Column(comment = "充值金额", defaultValue = "0.00", type = MySqlTypeConstant.DECIMAL, length = 18, decimalLength = 2)
    private BigDecimal totalAmount;

    /**
     * 赠送金额
     */
    @ApiModelProperty(value = "赠送金额")
    @Column(comment = "赠送金额", defaultValue = "0.00", type = MySqlTypeConstant.DECIMAL, length = 18, decimalLength = 2)
    private BigDecimal giveAmount;

    /**
     * H5支付跳转链接
     */
    @ApiModelProperty(value = "H5支付跳转链接")
    @Column(comment = "H5支付跳转链接")
    private String h5Url;

    /**
     * 支付单号
     */
    @ApiModelProperty(value = "支付单号")
    @Column(comment = "支付单号")
    private String tradeNo;

    /**
     * 支付金额
     */
    @ApiModelProperty(value = "支付金额")
    @Column(comment = "支付金额", defaultValue = "0.00", type = MySqlTypeConstant.DECIMAL, length = 18, decimalLength = 2)
    private BigDecimal payAmount;

    /**
     * 下单时间
     */
    @ApiModelProperty(value = "下单时间")
    @Column(comment = "下单时间", type = MySqlTypeConstant.DATETIME)
    private Date createTime;

    /**
     * 支付时间
     */
    @ApiModelProperty(value = "支付时间")
    @Column(comment = "支付时间", type = MySqlTypeConstant.DATETIME)
    private Date payTime;

    /**
     * 状态（0:待付款、1:已支付）
     */
    @ApiModelProperty(value = "状态（0:待付款、1:已支付）")
    @Column(comment = "状态（0:待付款、1:已支付）", defaultValue = "0")
    private Integer state;

    /**
     * 删除标志（-1:删除,1:正常）
     */
    @ApiModelProperty(value = "删除标志（-1:删除,1:正常）")
     @Column(comment = "删除标志（-1:删除,1:正常）", defaultValue = "1")
    private Integer status;

    private static final long serialVersionUID = 1L;

}